/*
* Copyright 2025 NXP
* NXP Proprietary. This software is owned or controlled by NXP and may only be used strictly in
* accordance with the applicable license terms. By expressly accepting such terms or by downloading, installing,
* activating and/or otherwise using the software, you are agreeing that you have read, and that you agree to
* comply with and are bound by, such license terms.  If you do not agree to be bound by the applicable license
* terms, then you may not retain, install, activate or otherwise use the software.
*/

#ifndef GUI_GUIDER_H
#define GUI_GUIDER_H
#ifdef __cplusplus
extern "C" {
#endif

#include "lvgl.h"
#include "lv_dclock.h"
#include "lv_radiobtn.h"
#include "my_app.h"
typedef struct
{
  
	lv_obj_t *screen_home;
	bool screen_home_del;
	lv_obj_t *g_kb_screen_home;
	lv_obj_t *screen_home_tileview_home;
	lv_obj_t *screen_home_tileview_home_tile_home;
	lv_obj_t *screen_home_tileview_home_tile_MQTT;
	lv_obj_t *screen_home_tileview_home_tile_2;
	lv_obj_t *screen_home_cont_6;
	lv_obj_t *screen_home_imgbtn_set;
	lv_obj_t *screen_home_imgbtn_set_label;
	lv_obj_t *screen_home_label_9;
	lv_obj_t *screen_home_cont_4;
	lv_obj_t *screen_home_spangroup_3;
	lv_span_t *screen_home_spangroup_3_span;
	lv_obj_t *screen_home_label_5;
	lv_obj_t *screen_home_imgbtn_1;
	lv_obj_t *screen_home_imgbtn_1_label;
	lv_obj_t *screen_home_cont_5;
	lv_obj_t *screen_home_imgbtn_2;
	lv_obj_t *screen_home_imgbtn_2_label;
	lv_obj_t *screen_home_label_fans;
	lv_obj_t *screen_home_label_11;
	lv_obj_t *screen_home_label_10;
	lv_obj_t *screen_home_label_temp;
	lv_obj_t *screen_home_label_humi;
	lv_obj_t *screen_home_img_1;
	lv_obj_t *screen_home_cont_3;
	lv_obj_t *screen_home_label_2;
	lv_obj_t *screen_home_spangroup_2;
	lv_span_t *screen_home_spangroup_2_span;
	lv_obj_t *screen_home_cont_2;
	lv_obj_t *screen_home_spangroup_1;
	lv_span_t *screen_home_spangroup_1_span;
	lv_obj_t *screen_home_label_3;
	lv_obj_t *screen_home_cont_7;
	lv_obj_t *screen_home_roller_year;
	lv_obj_t *screen_home_btn_ask;
	lv_obj_t *screen_home_btn_ask_label;
	lv_obj_t *screen_home_roller_day;
	lv_obj_t *screen_home_roller_moth;
	lv_obj_t *screen_home_label_8;
	lv_obj_t *screen_home_label_7;
	lv_obj_t *screen_home_label_6;
	lv_obj_t *screen_home_radiobtn_1;
	lv_obj_t *screen_home_radiobtn_1_item0;
	lv_obj_t *screen_home_radiobtn_1_item1;
	lv_obj_t *screen_home_radiobtn_1_item2;
	lv_obj_t *screen_home_chart_1;
	lv_chart_series_t *screen_home_chart_1_0;
	lv_obj_t *screen_home_cont_1;
	lv_obj_t *screen_home_label_1;
	lv_obj_t *screen_home_led_1;
	lv_obj_t *screen_home_led_2;
	lv_obj_t *screen_home_digital_clock_1;
	lv_obj_t *screen_home_label_weathe;
	lv_obj_t *screen_set;
	bool screen_set_del;
	lv_obj_t *g_kb_screen_set;
	lv_obj_t *screen_set_list_set;
	lv_obj_t *screen_set_list_set_item0;
	lv_obj_t *screen_set_list_set_item1;
	lv_obj_t *screen_set_list_set_item2;
	lv_obj_t *screen_set_label_set;
	lv_obj_t *screen_set_imgbtn_back;
	lv_obj_t *screen_set_imgbtn_back_label;
	lv_obj_t *screen_set_wifi;
	bool screen_set_wifi_del;
	lv_obj_t *g_kb_screen_set_wifi;
	lv_obj_t *screen_set_wifi_cont_1;
	lv_obj_t *screen_set_wifi_imgbtn_1;
	lv_obj_t *screen_set_wifi_imgbtn_1_label;
	lv_obj_t *screen_set_wifi_label_1;
	lv_obj_t *screen_set_wifi_label_2;
	lv_obj_t *screen_set_wifi_label_3;
	lv_obj_t *screen_set_wifi_sw_WifiSwich;
	lv_obj_t *screen_set_wifi_label_4;
	lv_obj_t *screen_set_wifi_label_5;
	lv_obj_t *screen_set_wifi_imgbtn_SmartConfig;
	lv_obj_t *screen_set_wifi_imgbtn_SmartConfig_label;
	lv_obj_t *screen_set_wifi_label_6;
	lv_obj_t *screen_set_wifi_label_7;
	lv_obj_t *screen_set_wifi_imgbtn_FindWifi;
	lv_obj_t *screen_set_wifi_imgbtn_FindWifi_label;
	lv_obj_t *screen_set_wifi_led_SmartConfig;
	lv_obj_t *screen_set_wifi_led_FindWifi;
	lv_obj_t *screen_set_wifi_cont_WifiiPassWord;
	lv_obj_t *screen_set_wifi_label_wifiName;
	lv_obj_t *screen_set_wifi_ta_1;
	lv_obj_t *screen_set_wifi_btn_wifiPassWord_OK;
	lv_obj_t *screen_set_wifi_btn_wifiPassWord_OK_label;
	lv_obj_t *screen_set_wifi_btn_wifiPassWord_ESC;
	lv_obj_t *screen_set_wifi_btn_wifiPassWord_ESC_label;
	lv_obj_t *screen_set_wifi_label_wifiNameFlag;
	lv_obj_t *screen_set_time;
	bool screen_set_time_del;
	lv_obj_t *g_kb_screen_set_time;
	lv_obj_t *screen_set_time_cont_1;
	lv_obj_t *screen_set_time_label_set;
	lv_obj_t *screen_set_time_imgbtn_back;
	lv_obj_t *screen_set_time_imgbtn_back_label;
	lv_obj_t *screen_set_time_cont_2;
	lv_obj_t *screen_set_time_sw_set_time;
	lv_obj_t *screen_set_time_btn_date;
	lv_obj_t *screen_set_time_btn_date_label;
	lv_obj_t *screen_set_time_label_1;
	lv_obj_t *screen_set_time_label_19;
	lv_obj_t *screen_set_time_label_18;
	lv_obj_t *screen_set_time_label_16;
	lv_obj_t *screen_set_time_label_15;
	lv_obj_t *screen_set_time_label_14;
	lv_obj_t *screen_set_time_label_13;
	lv_obj_t *screen_set_time_btn_time;
	lv_obj_t *screen_set_time_btn_time_label;
	lv_obj_t *screen_set_time_cont_set_data;
	lv_obj_t *screen_set_time_roller_1;
	lv_obj_t *screen_set_time_btn_1;
	lv_obj_t *screen_set_time_btn_1_label;
	lv_obj_t *screen_set_time_btn_2;
	lv_obj_t *screen_set_time_btn_2_label;
	lv_obj_t *screen_set_time_roller_4;
	lv_obj_t *screen_set_time_roller_5;
	lv_obj_t *screen_set_time_label_10;
	lv_obj_t *screen_set_time_label_11;
	lv_obj_t *screen_set_time_label_12;
	lv_obj_t *screen_set_time_cont_SetTime;
	lv_obj_t *screen_set_time_btn_SetTimeEsc;
	lv_obj_t *screen_set_time_btn_SetTimeEsc_label;
	lv_obj_t *screen_set_time_btn_SetTimeOk;
	lv_obj_t *screen_set_time_btn_SetTimeOk_label;
	lv_obj_t *screen_set_time_label_22;
	lv_obj_t *screen_set_time_label_21;
	lv_obj_t *screen_set_time_roller_6;
	lv_obj_t *screen_set_time_roller_7;
	lv_obj_t *screen_set_time_roller_8;
}lv_ui;

typedef void (*ui_setup_scr_t)(lv_ui * ui);

void ui_init_style(lv_style_t * style);

void ui_load_scr_animation(lv_ui *ui, lv_obj_t ** new_scr, bool new_scr_del, bool * old_scr_del, ui_setup_scr_t setup_scr,
                           lv_scr_load_anim_t anim_type, uint32_t time, uint32_t delay, bool is_clean, bool auto_del);

void ui_animation(void * var, int32_t duration, int32_t delay, int32_t start_value, int32_t end_value, lv_anim_path_cb_t path_cb,
                       uint16_t repeat_cnt, uint32_t repeat_delay, uint32_t playback_time, uint32_t playback_delay,
                       lv_anim_exec_xcb_t exec_cb, lv_anim_start_cb_t start_cb, lv_anim_ready_cb_t ready_cb, lv_anim_deleted_cb_t deleted_cb);


void init_scr_del_flag(lv_ui *ui);

void setup_ui(lv_ui *ui);


extern lv_ui guider_ui;


void setup_scr_screen_home(lv_ui *ui);
void setup_scr_screen_set(lv_ui *ui);
void setup_scr_screen_set_wifi(lv_ui *ui);
void setup_scr_screen_set_time(lv_ui *ui);
LV_IMG_DECLARE(_set_alpha_38x38);
LV_IMG_DECLARE(_btn6_alpha_38x38);
LV_IMG_DECLARE(_reset_alpha_34x35);
LV_IMG_DECLARE(_btn6_alpha_34x35);
LV_IMG_DECLARE(_bilibili_alpha_50x50);
LV_IMG_DECLARE(_DHT11_alpha_54x59);
LV_IMG_DECLARE(_back_alpha_47x40);
LV_IMG_DECLARE(_back_alpha_47x40);
LV_IMG_DECLARE(_back_alpha_47x40);
LV_IMG_DECLARE(_back_alpha_47x40);
LV_IMG_DECLARE(_scan_alpha_36x30);
LV_IMG_DECLARE(_btn6_alpha_36x30);
LV_IMG_DECLARE(_reset_alpha_28x29);
LV_IMG_DECLARE(_btn6_alpha_28x29);
LV_IMG_DECLARE(_back_alpha_47x40);
LV_IMG_DECLARE(_back_alpha_47x40);

LV_FONT_DECLARE(lv_font_SourceHanSerifSC_Regular_20)
LV_FONT_DECLARE(lv_font_montserratMedium_12)
LV_FONT_DECLARE(lv_font_SourceHanSerifSC_Regular_16)
LV_FONT_DECLARE(lv_font_montserratMedium_16)
LV_FONT_DECLARE(lv_font_SourceHanSerifSC_Regular_12)
LV_FONT_DECLARE(lv_font_montserratMedium_20)
LV_FONT_DECLARE(lv_font_SourceHanSerifSC_Regular_14)
LV_FONT_DECLARE(lv_font_montserratMedium_17)
LV_FONT_DECLARE(lv_font_SourceHanSerifSC_Regular_24)
LV_FONT_DECLARE(lv_font_SourceHanSerifSC_Regular_22)
LV_FONT_DECLARE(lv_font_montserratMedium_21)
LV_FONT_DECLARE(lv_font_SourceHanSerifSC_Regular_18)


#ifdef __cplusplus
}
#endif
#endif
